The present invention relates to a system and a method for identifying graphic symbols and, more particularly, but not exclusively, to a system and a method for identifying graphic symbols in digital images.
During the last decade, the field of object detection and recognition has been constantly evolving. Object detection and recognition have become popular areas of research in the field of computer vision and a basis for applications such as graphic symbol and text recognition.
In a number of different technical fields, a need has arisen for systems that are capable of automatically identifying strings of graphical characters. Early examples of character recognition systems include GB1425024 in which an output from a television camera is fed to a comparator for identifying codes applied to boxes. Bar codes are also well known and an early example of such a system is to be found in GB1000542. A review article outlining character recognition system development is to be found as Mori et al: Proceedings of the IEEE, Vol. 80 No. 7 July 1992 pp 1029-1058. Though such a system provides a tool for character recognition, it may only recognize standard barcodes. Moreover, most of the existing methods for graphical characters recognition are designed to read texts or labels from predefined areas of interest or from documents. In such methods and systems, pages of text or images of labels are converted to digital information using a scanner and optical character recognition (OCR) algorithms are then applied to produce a text file.
For example, U.S. Pat. No. 7,177,444, issued on Feb. 13, 2007, describes a method and an apparatus for reading and decoding information extracted from a form wherein packages are randomly placed on a conveyor belt, with their labels facing a two-camera subassembly. As the conveyor belt moves, the two-camera subassembly continuously takes images of the belt underneath the overhead camera. The design of the camera permits it to take a high-resolution image of a non-singulated, unjustified package flow. A digital image of the packages within the field of view of the camera is then transferred to the processing system for analysis. The processing system identifies individual packages in the image, extracts them and then analyzes the information written on the package labels. The analysis process utilizes conventional OCR and intelligent character recognition (ICR) techniques to evaluate the information written on the package label. Once the information is decoded, the system either accesses a database record associated with the decoded machine-readable code, or creates a new record. When an unknown word image is encountered, the field-specific recognition process is aided by use of lexicon information, optimized based on installation-specific or user-specific criteria.
Though such a method is effective for reading and decoding information extracted from a form or a digital image of a form, it cannot be used for reading and decoding graphical characters of labels in a digital image that depicts a scene. In order to identify graphical characters of labels, which are depicted in a digital image of a scene, a number of factors have to be considered. For example, each one of the components in the digital image has to be analyzed to determine whether it is a text component or not. Moreover, each text component has to be compared against characteristics, such as size, as the distance between the image sensors that take the digital image and the components being imaged is not constant. Moreover, as the angle and the distance between the image sensor that takes the digital image and the components are not constant, additional factors have to be considered during the text component identification process.
An example of a system that overcomes some of these factors is a system for identifying and recording car number plates as part of a vehicle monitoring and control system. Another example of such a system is disclosed in U.S. Pat. No. 6,826,305, issued on Nov. 30, 2004 that describes techniques for identifying labels appearing in images. A digital image is analyzed to identify individual components. Each of the individual components is analyzed to determine whether it is a text component or not by comparing it against characteristics such as size, aspect ratio, and proximity to other components. Each component identified as a text component is compared against characteristics such as size in order to identify it as a label or not. Location coordinates of each label are stored in association with the label and optical character recognition is performed on the labels. Once the labels are identified, each image may be used as an online catalog page. For example, an image may be used to construct a web page containing pictures of available products with each label serving as a hypertext link to retrieve further information about the product or to enter an order for the product. Automatically identifying labels simplifies the conversion of preexisting paper catalog pages to online catalog pages or similar digitized images. Such a system may be used for analyzing images using a stationary computer and an image sensor.
However, such a method, as many other methods, which are known in the label detection field, is computationally expensive and demands a substantial amount of memory allocation. In particular, since the size of the graphical character relative to the size of the digital image is not always known, the graphical character detection process has to include repetitive search steps. The high number of iterations makes such a search computationally expensive. Moreover, the search has to include steps of matching the potential graphical character with different translational, rotational, and scaling parameters. The matching requires the allocation of even more memory. In addition, such a technique requires a database of graphical characters for the searching. Maintaining such a database on a mobile telephone, for example, requires a substantial amount of memory allocation.
One of the challenges in the field is to implement graphical character detection methods in a computing unit with limited memory resources, and with limited computational abilities.
In parallel to the field of object detection and recognition that has been constantly evolving during the last decade, the field of augmented reality technology that allows a person to see or otherwise sense a computer-generated virtual world integrated with the real world has also been constantly evolving. The “real world” is the environment that an observer can see, feel, hear, taste, or smell using the observer's own senses. The “virtual world” is defined as a generated environment stored in a storage medium or calculated using a processor. A tracker system within the augmented reality technology registers the virtual world to the real world to integrate virtual and real information in a manner usable by the observer.
Augmented reality technology essentially “connects” a human user to a database or to a partially virtual or virtual environment using any combination of the human user's visual, aural, or kinesthetic senses.
Although augmented reality technology is rapidly evolving, new solutions can still be explored, especially in the cellular arena.
There is thus a widely recognized need for, and it would be highly advantageous to have, an apparatus and a method for graphic symbol detection for a computing unit with limited memory and computational power and a method that provide new augmented reality solutions, which are devoid of the above limitations.